package cliente.gerenciadorcliente.iu;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder;

public class IURegrasDomino extends JFrame {

	private static final long serialVersionUID = -3390360057971100625L;
	private JPanel panelPrincipal;

	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					IURegrasDomino frame = new IURegrasDomino();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	public IURegrasDomino() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		setPanelPrincipal(new JPanel());
		getPanelPrincipal().setBorder(new EmptyBorder(5, 5, 5, 5));
		getPanelPrincipal().setLayout(new BorderLayout(0, 0));
		setContentPane(getPanelPrincipal());

		JPanel panelSuperior = new JPanel();
		getPanelPrincipal().add(panelSuperior, BorderLayout.NORTH);
		panelSuperior.setLayout(new BorderLayout(0, 0));

		JPanel panelSuperiorEsquerdo = new JPanel();
		panelSuperior.add(panelSuperiorEsquerdo, BorderLayout.WEST);

		JLabel lblRegrasDominoVirtual = new JLabel(
				"Regras do Domin\u00F3 Virtual:");
		panelSuperiorEsquerdo.add(lblRegrasDominoVirtual);

		JPanel panelSuperiorDireito = new JPanel();
		panelSuperior.add(panelSuperiorDireito, BorderLayout.EAST);

		JButton btnFechar = new JButton("Fechar");
		panelSuperiorDireito.add(btnFechar);
		btnFechar.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				btnFecharActionPerformed();
			}
		});

		JScrollPane scrollPane = new JScrollPane();
		getPanelPrincipal().add(scrollPane, BorderLayout.CENTER);

		JTextArea txtrRegras = new JTextArea();
		txtrRegras.setBackground(UIManager.getColor("Button.background"));
		txtrRegras.setFont(new Font("Monospaced", Font.PLAIN, 13));
		txtrRegras.setEditable(false);
		txtrRegras.setWrapStyleWord(true);
		txtrRegras.setLineWrap(true);
		scrollPane.setViewportView(txtrRegras);
		txtrRegras
				.setText("- Os jogos acontecem sempre em duplas;\r\n- As 28 pe\u00E7as do domin\u00F3 s\u00E3o distribu\u00EDdas de modo que cada jogador fica com 6 pe\u00E7as e 4 ficam no \"dorme\";\r\n- \"Dorme\" \u00E9 o conjunto das pe\u00E7as restantes na distribui\u00E7\u00E3o. As pe\u00E7as do \"dorme\" ficam fora de jogo e n\u00E3o pode ser acessadas por nenhum jogador;\r\n- As pe\u00E7as do jogo s\u00E3o as do domin\u00F3 convencional: 0-0, 0-1, 0-2, 0-3, 0-4, 0-5, 0-6, 1-1, 1-2, 1-3, 1-4, 1-5, 1-6, 2-2, 2-3, 2-4, 2-5, 2-6, 3-3, 3-4, 3-5, 3-6, 4-4, 4-5, 4-6, 5-5, 5-6 e 6-6;\r\n- O jogo \u00E9 iniciado pelo jogador com a pe\u00E7a X-X que possui maior X;\r\n- Terminado o turno de um jogador, o pr\u00F3ximo a jogar \u00E9 sempre o que estiver \u00E0 esquerda do jogador que acabou de jogar (sentido hor\u00E1rio na mesa);\r\n- A forma de jogar segue a do domin\u00F3 convencional: uma vez no seu turno, o jogador deve colocar uma pe\u00E7a que possua um dos n\u00FAmeros das extremidades do conjunto de pe\u00E7as j\u00E1 dispostas na mesa. A pe\u00E7a colocada deve estar posicionada de modo que n\u00FAmeros iguais fiquem adjacentes;\r\n- Caso o jogador n\u00E3o possua uma pe\u00E7a compat\u00EDvel com as pe\u00E7as das extremidades, este perde a vez;\r\n- O jogo finaliza quando algum jogador colocar sua \u00FAltima pe\u00E7a na mesa. A dupla deste jogador recebe um ponto.");

		setSize(new Dimension(640, 480));
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
	}

	private void btnFecharActionPerformed() {
		dispose();
	}

	protected JPanel getPanelPrincipal() {
		return panelPrincipal;
	}

	protected void setPanelPrincipal(JPanel panelPrincipal) {
		this.panelPrincipal = panelPrincipal;
	}

}
